# _*_conding:cp-1252-*-
# 教育机构：银杰教育
# 讲师：李伟
# 开发时间：2025/8/30 下午9:08

# 日志第三方库： loguru
#
# 两种操作：
# 1、日志打印在控制台  == 具体日志语句后操作
# 2、日志写入到文件： 更久保存文件 方便查看日志 == 更加常用，先操作
# - 先创建日志文件 然后再写入日志。
# - 不会写在具体的某个用例文件里，写在run.py [入口文件]，整个框架执行都会优先执行这个文件，创建日志
# - 后续再去执行具体的用例--方法 和函数等都会写日志语句，直接写入文件。
#
# 参数：
# - sink：日志文件的名字,直接写当前的目录里生成一个名字的日志文件。
#    - 日志文件需要放在代码分层结构的 outputs/logs层级里，要做路径处理 【相对路径-pathlib】
#    - 在tools里handle_path处理日志的路径
#    - 在使用日志模块 导入
# - encoding: 编码格式，日志需要有中文，日志编码设置为 utf8
# - level: 级别一定要大写，INFO， ERROR
#    - 这里参数设置了一个级别之后，这个级别及其以上的级别的日志都会被记录到日志文件里。级别低的不会记录。
#    - 优先级： critical > error > warning > info > debug
#    - 一般会设置INFO，critical > error > warning > info这几个级别都会被记录日志。
# - rotation: 进行日志文件分离的。一般会通过时间控制 | 文件大小控制。
#    - rotation="12:00": 按照时间分离，每天12点都会创建换一个新的日志文件
#    - rotation="1 week": 按照时间分离，1周会创建换一个新的日志文件
#    - rotation="20 MB": 按照文件大小分离，日志文件超过20MB会创建换一个新的日志文件 == 更常见
# - retention: 限定日志文件的个数，超过限定的个数，旧的日志文件就会被删除。
#
# """
# # 1、创建日志文件路径   不会写在具体的某个用例文件里，写在run.py [入口文件]，整个框架执行都会优先执行这个文件，创建日志。
# # - 日志文件需要放在代码分层结构的outputs / logs层级里，要做路径处理 【相对路径 - pathlib】

from loguru import logger
from tools.handle_path import log_path

logger.add(sink=log_path / "test.log",  #写入日志的路径处理，日志文件名字。
           encoding="utf-8",
           level="INFO",                #记录的日志等级
           rotation="10 MB",            #进行日志文件分离的。一般会通过时间控制、文件大小控制。日志文件超过20MB会创建换一个新的日志文件 == 更常见
           retention=20)                #限定日志文件的个数，超过限定的个数，旧的日志文件就会被删除
# logger.info("第一条日志")